#include <stdio.h>
#include <sys/resource.h>
#include <sys/types.h>
#include <unistd.h>

int main(void) {
	printf("开始\n");
	int value = 100;
	pid_t pid = fork();
	char buffer[1024];
	if (pid > 0) {
		// scanf(" %d ", &value);
		gets(buffer);
		puts(buffer);
		printf("父进程（%d）执行，优先级（%d），子进程（%d） value @ %p value "
			   "= %d\n",
			   getpid(), getpriority(PRIO_PROCESS, 0), pid, &value, value);
	} else if (pid == 0) {
		// scanf(" %d ", &value);
		printf("ch = 0x%02x\n", getchar());
		perror("a");

		gets(buffer);
		printf("ch = 0x%02x\n", getchar());
		perror("a");

		puts(buffer);
		printf("ch = 0x%02x\n", getchar());
		perror("a");
		printf("子进程（%d）执行，优先级（%d），父进程（%d） value @ %p value "
			   "= %d\n",
			   getpid(), getpriority(PRIO_PROCESS, 0), getppid(), &value,
			   value);
	} else if (pid == -1) {
		printf("创建进程失败\n");
	} else {
		printf("未知\n");
	}
	printf("结束\n");
}